Before the widespread deployment of virtualization, there was formerly a clear physical division between various data centers. Machines within a data center traditionally formed an intranet and had to engage in direct connectivity in order to talk to machines in a separate data center, for example by using L3 connectivity. Numerous switches, routers, load balancers, and firewalls facilitated this communication from one data center to another. The advent of virtualization has done away with the need for such physical divisions. Now, a single machine can run multiple virtual machines. These virtual machines may even be moved around from one physical machine to another much like one might move a standard text file. Virtual machines may even now be entirely hosted and accessed via the public Internet. Often, such set ups are referred to as hosting “in the Cloud”.
Movement of such a virtual machine within a particular data center can be achieved without much hindrance. However, if a virtual Machine is to be moved to a different data center or to a cloud-based data center, maintaining the same configuration settings and seamless communication with the virtual machines in the prior data center becomes a more difficult task.